package com.taxx.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 平台内的经营者和从业人员收入信息报送实体类
 * 
 * @author taxx
 * @since 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tax_income_report")
public class TaxIncomeReport extends BaseEntity {


    /**
     * 收入所属期起
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String startTime;

    /**
     * 收入所属期止
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String endTime;

    /**
     * 否办理市场主体登记：0-否，1-是
     */
    private Integer hasRegistration;

    /**
     * 统一社会信用代码
     */
    private String creditCode;

    /**
     * 纳税人名称
     */
    private String taxpayerName;

    /**
     * 商户ID
     */
    private String merchantId;

    /**
     * 商户名称
     */
    private String merchantName;

    /**
     * 收入总额（已取得登记证照的销售货物取得的收入）
     */
    private BigDecimal goodsIncome;

    /**
     * 退款金额（已取得登记证照的销售货物取得的收入）
     */
    private BigDecimal goodsRefund;

    /**
     * 收入总额（已取得登记证照的销售无形资产取得的收入）
     */
    private BigDecimal intangibleIncome;

    /**
     * 退款金额（已取得登记证照的销售无形资产取得的收入）
     */
    private BigDecimal intangibleRefund;

    /**
     * 收入总额（已取得登记证照的销售服务取得的收入）
     */
    private BigDecimal serviceIncome;

    /**
     * 退款金额（已取得登记证照的销售服务取得的收入）
     */
    private BigDecimal serviceRefund;

    /**
     * 收入总额（未取得登记证照）
     */
    private BigDecimal unregisteredIncome;

    /**
     * 退款金额（未取得登记证照）
     */
    private BigDecimal unregisteredRefund;

    /**
     * 收入净额销售货物（未取得登记证照）
     */
    private BigDecimal netIncomeGoods;

    /**
     * 收入净额货物运输服务（未取得登记证照）
     */
    private BigDecimal netIncomeTransport;

    /**
     * 收入净额劳务报酬（未取得登记证照）
     */
    private BigDecimal netIncomeLabor;

    /**
     * 收入净额稿酬（未取得登记证照）
     */
    private BigDecimal netIncomeRoyalty;

    /**
     * 收入净额特许权使用费（未取得登记证照）
     */
    private BigDecimal netIncomeFranchise;

    /**
     * 从事其他网络交易活动取得的收入（净额）
     */
    private BigDecimal otherNetIncome;

    /**
     * 支付给平台的佣金、服务费合计金额
     */
    private BigDecimal platformCommission;

    /**
     * 交易（订单）数量（笔）
     */
    private Integer transactionCount;

    /**
     * 报送状态：0-待报送，1-报送中，2-报送成功，3-报送失败
     */
    private Integer reportStatus;

    /**
     * 报送时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate reportTime;

    /**
     * 报送结果消息
     */
    private String reportMessage;

    /**
     * 批次号
     */
    private String batchCode;
}
